package com.ldzl.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ldzl.pojo.CkBatch;
import com.ldzl.service.CkBatchService;
import com.ldzl.mapper.CkBatchMapper;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.system.api.BasicService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
* @author 风止
* @description 针对表【ck_batch(批次记录表)】的数据库操作Service实现
* @createDate 2025-07-16 11:51:15
*/
@Service
public class CkBatchServiceImpl extends ServiceImpl<CkBatchMapper, CkBatch>
    implements CkBatchService{

    @Autowired
    private BasicService bs; //基础数据 外部服务

    /**
     * 插入批次记录
     * @param batch
     * @return
     */
    @Override
    public CkBatch insertBatch(CkBatch batch) {
        CkBatch bat = batch;
        //1.创建批次信息
        //AjaxResult ajaxResult = bs.automaticallyNumbers(28L); //生成批次编码 28为批次编码
        //bat.setBatch_code((String) ajaxResult.get(AjaxResult.MSG_TAG));
        // 保存所有传入的字段信息（包括工单信息）
        if(super.baseMapper.insert(bat) > 0)
            return bat;
        else
            return null;
    }

    /**
     * 根据批次ID查询批次信息
     * @param batchId 批次ID
     * @return 批次信息
     */
    @Override
    public CkBatch selectBatchById(Long batchId) {
        return super.baseMapper.selectBatchById(batchId);
    }

    /**
     * 根据批次编号查询批次信息
     * @param batchCode 批次编号
     * @return 批次信息
     */
    @Override
    public CkBatch selectBatchByCode(String batchCode) {
        return super.baseMapper.selectBatchByCode(batchCode);
    }

    /**
     * 根据工单ID查询相关批次列表
     * @param workOrderId 工单ID
     * @return 批次列表
     */
    @Override
    public List<CkBatch> selectBatchByWorkOrderId(Long workOrderId) {
        return super.baseMapper.selectBatchByWorkOrderId(workOrderId);
    }

    /**
     * 根据工单编号查询相关批次列表
     * @param workOrderCode 工单编号
     * @return 批次列表
     */
    @Override
    public List<CkBatch> selectBatchByWorkOrderCode(String workOrderCode) {
        return super.baseMapper.selectBatchByWorkOrderCode(workOrderCode);
    }

    /**
     * 分页查询批次列表
     * @param batch 查询条件
     * @return 批次列表
     */
    @Override
    public List<CkBatch> selectBatchList(CkBatch batch) {
        return super.baseMapper.selectBatchList(batch);
    }
}




